package com.wunong.smart.address.client.service;

import com.wunong.smart.address.client.param.UserAddressParam;
import com.wunong.smart.address.client.param.DeleteUserAddressParam;
import com.wunong.smart.address.client.param.SetDefaultUserAddressParam;
import com.wunong.smart.domain.platform.rpc.Result;

/**
 * 地址写服务
 *
 * @author create by zealot.zt
 */
public interface UserAddressWriteService {

    /**
     * 保存用户地址
     *
     * @param param
     * @return
     */
    Result<Long> save(UserAddressParam param);

    /**
     * 更新用户地址
     *
     * @param param
     * @return
     */
    Result<Void> update(UserAddressParam param);

    /**
     * 删除用户地址
     *
     * @param param
     * @return
     */
    Result<Void> delete(DeleteUserAddressParam param);

    /**
     * 设为默认用户地址
     *
     * @param param
     * @return
     */
    Result<Void> setDefault(SetDefaultUserAddressParam param);

}
